package com.gt.web.srv.domain;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * 村民;
 *
 * @author Yu Chaohua
 * @date 2024-5-17
 */
@TableName("biz_people")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class BizPeopleEntity implements Serializable {

    private static final long serialVersionUID = 4723687553082004684L;

    @ApiModelProperty(notes = "村民ID")
    @TableId(value = "people_id", type = IdType.AUTO)
    private Long peopleId;

    @ApiModelProperty(notes = "小程序ID")
    @TableField(value = "open_id")
    private String openId;

    @ApiModelProperty(notes = "小程序unionId")
    @TableField(value = "union_id")
    private String unionId;

    @ApiModelProperty(notes = "小程序昵称")
    @TableField(value = "open_nick")
    private String openNick;

    @ApiModelProperty(notes = "微信头像")
    @TableField(value = "open_avatar_url")
    private String openAvatarUrl;

    @ApiModelProperty(notes = "是否户主")
    @TableField(value = "is_head")
    private Integer isHead;

    @ApiModelProperty(notes = "户主身份证号")
    @TableField(value = "head_card")
    private String headCard;

    @ApiModelProperty(notes = "姓名")
    @TableField(value = "people_name")
    private String peopleName;

    @ApiModelProperty(notes = "手机")
    @TableField(value = "people_mobile")
    private String peopleMobile;

    @ApiModelProperty(notes = "身份证")
    @TableField(value = "people_card")
    private String peopleCard;

    @ApiModelProperty(notes = "性别")
    @TableField(value = "people_sex")
    private Integer peopleSex;

    @ApiModelProperty(notes = "出生年月")
    @TableField(value = "people_birth")
    private String peopleBirth;

    @ApiModelProperty(value = "住址")
    @TableField(value = "people_address")
    private String peopleAddress;

    @ApiModelProperty(notes = "社区")
    @TableField(value = "community_id")
    private Long communityId;

    @ApiModelProperty(notes = "社区")
    @TableField(value = "community_name")
    private String communityName;

    @ApiModelProperty(notes = "网格")
    @TableField(value = "grid_id")
    private Integer gridId;
    private String gridName;

    @ApiModelProperty(notes = "是否党员 0:否,1:是")
    @TableField(value = "is_party")
    private Integer isParty;

    @ApiModelProperty(notes = "是否是网格员 0:否,1:是")
    @TableField(value = "is_grid")
    private Integer isGrid;

    @ApiModelProperty(notes = "是否是村委 0:否,1:是")
    @TableField(value = "is_committee")
    private Integer isCommittee;

    @ApiModelProperty(notes = "状态（0:待审核 1:已审核）")
    @TableField(value = "status")
    private Integer status;

    @ApiModelProperty(notes = "备注")
    @TableField(value = "remark")
    private String remark;

    /**
     * <p>
     *     创建人
     * </p>
     */
    @TableField(value = "create_by", fill = FieldFill.INSERT,updateStrategy = FieldStrategy.NOT_EMPTY)
    private String createBy;
    /**
     * <p>
     *     创建时间
     * </p>
     */
    private LocalDateTime createTime;
    /**
     * <p>
     *     修改人
     * </p>
     */
    private String updateBy;
    /**
     * <p>
     *     修改时间
     * </p>
     */
    private LocalDateTime updateTime;

    private LocalDateTime modifyTime;
}
